sintgamas, artículos
 
Usuario:   Clave:    
   
Escribí lo que quieras:  
 
  Gastronomía| Moda| Mascotas| Industria| Om| Mi lugar| Economía| Política| Humor| Ecología| Turismo| Educación| Inmobiliarias| Sociedad| El mundo| Ocio| Música| Ciencia| Tecnología| Internet| Posicionamiento| Diseño| Deporte| Salud| Letras| Cine| Juegos| Miscelaneas| Cultura| Escultura| Pintura| Clasificados| Televisión| Alternativas| Recetas| Telefonía|  
   
 
 
27 Reconoce tus errores antes de que otros los exageren. Andrew Mason   por   puntoedu
 
 
Xnechijli01 10/29/2019 | 00:01:11  
 
Coincidencia de patrones
Mejoras en la coincidencia de patrones en C#
Tags:
  C#              
 
C# 8 Mejoras de coincidencia de patrones

C# 7 sentó las bases para la coincidencia de patrones, pero muchas características tuvieron que dejarse en a un lado. Con el tiempo extra que C# 8 necesita, muchos de estos se están recogiendo.

Coincidencia de patrones posicionales

Considera este patrón bastante detallado utilizando la sintaxis C# 7.

case Rectangle r when r.Length == 10 && r.Width == 10: return "Found 10x10 rectangle";

Al aprovechar la función deconstructor, la nueva coincidencia de patrón posicional hace que la función sea mucho menos detallada.

case Rectangle (10, 10): return "Found 10x10 rectangle";

Esta característica también será compatible con tuplas anónimas. Esto se conoce como un "patrón de tupla".

Coincidencia de patrones de propiedad

El patrón posicional es conciso, pero solo funciona si tienes un método de deconstrucción adecuado. Cuando no lo tengas, puedes usar un patrón de propiedad en su lugar.

case Rectangle {Width : 10 }: return "Found a rectangle with a width of 10";

El soporte para las propiedades indexadas también se está considerando, pero no se han determinado los detalles.

Mejoras deconstructor

Otra idea que se está considerando en los problemas de Open LDM en el ticket de coincidencia de patrones es permitir múltiples métodos de deconstrucción con el mismo número de parámetros. Además de tener diferentes tipos, los parámetros deben tener un nombre diferente.

ITuple Pattern Matching

La interfaz ITuple, presentada en .NET 4.7.1 y .NET Core 2.0, plantea varias preguntas en C# 8. La idea básica es que si un objeto implementa esta interfaz, puede participar en la coincidencia de patrones. Se están considerando tres escenarios con respecto a cuándo entrará en vigencia.

if (x is ITuple(3, 4)) // (1) permitted? if (x is object(3, 4)) // (2) permitted? if (x is SomeTypeThatImplementsITuple(3, 4)) // (3) permitted? 

Una pregunta relacionada es si una clase implementa ITuple y hay un método de extensión Deconstruct, ¿cuál tiene prioridad? Idealmente, devolverían los mismos valores, pero se necesita un desempate cuando ese no sea el caso.

Hasta aquí llegamos con este Tema. Ahora te dejamos el enlace de tres cursos presenciales que puedes visitar.

Curso de Excel 
curso de Javascript 
curso de C#
 

 
Agregar esta página a Mister Wong Compartir
Agregar la pestaña Desarrollador a Microsoft Excel
¿Cómo funciona JVM o Java Virtual Machine?
Relación entre el lenguaje de programación y la JVM.
¿Por qué dejar de programar en COBOL?
La programación en Java y la JMV
  Comentarios: 0      
 
Enviá tu comentario
Para dejar tu comentario debes ser miembro de Sintagmas.
 
 
 
 
 
 
ULTIMAS PUBLICADAS en Mi lugar |
  Todo lo que debes saber sobre los tratamientos de estética dental
NAF
 
  Como llevar mejor la cuesta de enero con conservas del Cantábrico
NAF
 
  Cinco conservas exquisitas para saborear en verano
NAF
 
  Cuánto se juega a la lotería de navidad
NAF
 
  Pirdras Blancas
Sociedaccion
 
  Mudanza a piso en Barcelona inesperadamente fácil
Contenidos7
 
  Los sabores de siempre en restaurante Alcalá de Henares
Contenidos7
 
  ¡Por fin nos independizamos!
Contenidos7
 
  Cerrado por reformas
Wombat
 
  Muro, paredón o después
puntoedu
 
  Topografía desconcertante
HeridaAbsurda
 
  Este es Lucas, ayudá a encontrarlo
Gorda
 
  Ya son Maravilla del mundo, las Cataratas de Iguazú
JulioH
 
  La sordera oficial
Wombat
 
  Cascarudos gronchos
Miura
 
  Sintagmas, sitio incontaminado
Gorda
 
  Como terminar algo que aun no a comenzado
maria bello
 
  Candela, una herida abierta
Gorda
 
  Buenos aires bajo la niebla
Primate
 
  Robar un banco y salir impune
Primate
 
  Deportes para el pueblo
JulioH
 
  Servicio doméstico
Rafa*
 
  Como en casa
Primate
 
  Tributo a uruguay
Rafa*
 
  Llamadas comerciales al teléfono
Duck
 
  El abrazo del Oso
andre_laplume
 
  A los perro les encanta jugar
achrafx
 
  Inspirado en las chicas Bond
Claudio
 
  Tragedia en el Teatro Colón
Arcadia
 
  Celebración bicentenario
Claudio
 
 
 
 
TAGS
C#
 
 
  Contacto| Términos y condiciones| Anunciar en Sintagmas| Acerca de Sintagmas| Administrar|      
Copyright 2009 y actual de Sintagmas | Todos los derechos reservados